package com.yxinsur.imc.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxinsur.imc.business.domain.ImcFundOrderExpression;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

/**
 * 保单口径（暨口径达式配置）Mapper接口
 *
 * @author imc
 * @date 2021-10-29
 */
public interface ImcFundOrderExpressionMapper extends BaseMapper<ImcFundOrderExpression> {
    /**
     * 查询保单口径（暨口径达式配置）
     *
     * @param id 保单口径（暨口径达式配置）ID
     * @return 保单口径（暨口径达式配置）
     */
    public ImcFundOrderExpression selectImcFundOrderExpressionById(String id);

    /**
     * 查询保单口径（暨口径达式配置）列表
     *
     * @param imcFundOrderExpression 保单口径（暨口径达式配置）
     * @return 保单口径（暨口径达式配置）集合
     */
    public List<ImcFundOrderExpression> selectImcFundOrderExpressionList(ImcFundOrderExpression imcFundOrderExpression);

    /**
     * 新增保单口径（暨口径达式配置）
     *
     * @param imcFundOrderExpression 保单口径（暨口径达式配置）
     * @return 结果
     */
    public int insertImcFundOrderExpression(ImcFundOrderExpression imcFundOrderExpression);

    /**
     * 修改保单口径（暨口径达式配置）
     *
     * @param imcFundOrderExpression 保单口径（暨口径达式配置）
     * @return 结果
     */
    public int updateImcFundOrderExpression(ImcFundOrderExpression imcFundOrderExpression);

    /**
     * 删除保单口径（暨口径达式配置）
     *
     * @param id 保单口径（暨口径达式配置）ID
     * @return 结果
     */
    public int deleteImcFundOrderExpressionById(String id);

    /**
     * 批量删除保单口径（暨口径达式配置）
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteImcFundOrderExpressionByIds(String[] ids);

    int insertImcFundOrderExpressionList(@Param("expressions") ArrayList<ImcFundOrderExpression> expressions);

    int logicalDeletedByIds(Long[] ids);

    List<ImcFundOrderExpression> listfundOrderExpressionByFundId(@Param("fundId") Long fundId, @Param("policyYearFlag") String policyYearFlag, @Param("tenantId") Long tenantId);
}
